#!/usr/bin/env python

#==============================================================================
# Functionality
#==============================================================================

# utility funcs, classes, etc go here.

#==============================================================================
# Cmdline
#==============================================================================
import argparse

parser = argparse.ArgumentParser(formatter_class=argparse.RawTextHelpFormatter, 
    description="""
TODO
""")
     
parser.add_argument('-v', '--verbose',
    action="store_true",
    help="verbose output" )

parser.add_argument('-j', '--json',
    default="compile_commands.json",
    help="The path to compile_commands.json file generated by \`bear make\`." )

parser.add_argument('-c', '--cflags',
    default="",
    help="Additional CFLAGs to pass into the commandline.")

parser.add_argument('args', nargs=argparse.REMAINDER)

#==============================================================================
# Main
#==============================================================================
import sys
import json
import os

def main():
    with open(args.json, 'r') as f:
        cmds = json.load(f)
    for cmd in cmds:
        os.chdir(cmd['directory'])
        run = cmd['command']
        splits = run.split(' ', 2)
        final = ' '.join([splits[0]] + [args.cflags] + splits[1:])
        print final
        os.system(final)


if __name__ == "__main__":
    args = parser.parse_args()
    main()

